27|重构初体验

重构

重构是对软件内部结构的改善,目的是在不改变可见行为的前提下,使其更易理解,修改成本更低。

重构的目的(Why)

  1. 防止代码腐化到无可救药的地步。
  2. 避免过度设计的有效手段,因为项目的初期不可能遇见未来100%的需求,需要不断的持续迭代重构来完善它,所以我们可以借助重构来避免过度设计。
  3. 重构能够帮助我们应用比较经典的设计思想、设计原则以及编程规范。

重构的对象(What)

  1. 大型重构(系统、模块、代码结构等)

手段: 分层、模块化、解耦、抽象可复用组件
风险: 引入bug的风险较大

  1. 小型重构(类、函数、变量等代码细节)

手段:提取重复代码、规范命名、消除超大类。
风险:引入bug的风险小

重构的时机(When)

可持续重构:持续重构应该成为一种开发习惯,形成一种可持续、可演进的方式。

重构的方法(How)

  1. 大型重构

分阶段进行,小步重构,保证仓库内的代码始终是处于可运行、逻辑正确的状态。

  1. 小型重构:

只要有时间随时都可以做。

对于重构的事情,项目leader要担起责任来,始终要保持项目中的代码处于良好的状态,避免形成“破窗效应”